      1  public class PairDemo

      2  {

      3     public static void main(String[] args)

      4     {

      5        String[] names = { "Tom", "Diana", "Harry" };

      6        Pair<String, Integer> result = firstContaining(names, "a");

      7        System.out.println(result.getFirst());

      8        System.out.println("Expected: Diana");

      9        System.out.println(result.getSecond());

     10        System.out.println("Expected: 1");

     11     }

     12

     13     /**

     14        Gets the first String containing a given string, together

     15        with its index.

     16        @param strings an array of strings

     17        @param sub a string

     18        @return a pair (strings[i], i) where strings[i] is the first

     19        strings[i] containing str, or a pair (null, -1) if there is no

     20        match.

     21     */

     22     public static Pair<String, Integer> firstContaining(

     23        String[] strings, String sub)

     24     {

     25        for (int i = 0; i < strings.length; i++)

     26        {

     27           if (strings[i].contains(sub))

     28           {

     29              return new Pair<String, Integer>(strings[i], i);

     30           }

     31        }

     32        return new Pair<String, Integer>(null, -1);

     33     }

     34  }